package org.geektimes.serialize;

/**
 * @author karidyang
 */
public interface Serializer<T> {


    /**
     * 序列化对象。将给定的对象序列化成字节数组
     * @param t 待序列化的对象
     */
    byte[] serialize(T t);

    /**
     * 反序列化对象
     * @param bytes 存放序列化数据的字节数组
     * @return 反序列化之后生成的对象
     */
    T deserialize(byte[] bytes, Class<T> typeClass);

}
